/**
 * 分类服务
 * @module services/categoryService
 */

import api from './api';

/**
 * 获取所有分类
 * @returns {Promise<Object>} 分类列表
 */
export const getAllCategories = async () => {
  try {
    return await api.get('/categories');
  } catch (error) {
    console.error('获取分类列表失败:', error);
    throw error;
  }
};

/**
 * 获取单个分类
 * @param {string} id - 分类ID
 * @returns {Promise<Object>} 分类详情
 */
export const getCategoryById = async (id) => {
  try {
    return await api.get(`/categories/${id}`);
  } catch (error) {
    console.error('获取分类详情失败:', error);
    throw error;
  }
};

/**
 * 创建分类
 * @param {Object} category - 分类数据
 * @returns {Promise<Object>} 创建结果
 */
export const createCategory = async (category) => {
  try {
    return await api.post('/categories', category);
  } catch (error) {
    console.error('创建分类失败:', error);
    throw error;
  }
};

/**
 * 更新分类
 * @param {string} id - 分类ID
 * @param {Object} category - 分类数据
 * @returns {Promise<Object>} 更新结果
 */
export const updateCategory = async (id, category) => {
  try {
    return await api.put(`/categories/${id}`, category);
  } catch (error) {
    console.error('更新分类失败:', error);
    throw error;
  }
};

/**
 * 删除分类
 * @param {string} id - 分类ID
 * @returns {Promise<Object>} 删除结果
 */
export const deleteCategory = async (id) => {
  try {
    return await api.delete(`/categories/${id}`);
  } catch (error) {
    console.error('删除分类失败:', error);
    throw error;
  }
}; 